package com.share51.novel.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 采集站点支持
 * @author gb
 */
@Getter
@AllArgsConstructor
public enum NovelSiteEnums {


    /**
     * 爬虫站点一 书趣阁
     */
    NOVEL_SITE_1(101,"shuquge")
    ;
    private int code;
    private String enCode;

    /**
     * 更具给定的英文名获取code
     *
     * @param code 英文名称（配置文件的key）
     * @return
     */
    public static int of(String code){
        return Arrays.stream(values())
                .filter(enums->enums.enCode.equals(code))
                .map(enums->enums.code)
                .findAny()
                .orElseThrow(()->new RuntimeException("参数错误"));
    }

    /**
     * 判断是否存在此站点爬虫规则
     * @param code
     * @return
     */
    public static boolean exist(String code){
        return Arrays.stream(values())
                .filter(enums->enums.enCode.equals(code))
                .findAny()
                .orElse(null)!=null;
    }

    public static boolean exist(int code){
        return Arrays.stream(values())
                .filter(enums->enums.code==code)
                .findAny()
                .orElse(null)!=null;
    }

    public static NovelSiteEnums of(int code){
        return Arrays.stream(values())
                .filter(enums->enums.code==code)
                .findAny()
                .orElseThrow(()->new IllegalArgumentException("小说站点"));
    }

}
